Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Аналіз програмної моделі процесу роботи арифметичного конвеєра

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
ТБВ

Частина тексту файла

Міністерство освіти, науки, молоді та спорту України Національний університет “Львівська політехніка” Кафедра ЕОМ Звіт до Лабораторної роботи №4 «Аналіз програмної моделі процесу роботи арифметичного конвеєра» Варіант 24 Підготувала: ст.гр. КІ-31 Тріщ Ганна Перевірив: Торубка Т.В. Львів 2013 Мета роботи: Навчитись здійснювати аналіз програмних моделей комп’ютерних систем, виконаних на мові System C. Лістинг програмної моделі арифметичного конвеєра: display.h: #ifndef DISPLAY_H #define DISPLAY_H #include "stage1.h" // Added by ClassView struct display : sc_module { sc_in<double> in; // input port 1 sc_in<bool> clk; // clock sc_in<double> diff; void print(); // method to display input port values //Constructor SC_CTOR( display ) { SC_METHOD( print ); // declare print as SC_METHOD and sensitive_pos << clk; // make it sensitive to positive clock edge } public: }; #endif numgen.h: #ifndef NUMGEN_H #define NUMGEN_H struct numgen : sc_module { sc_out<double> out1; //output 1 sc_out<double> out2; //output 2 sc_in<bool> clk; //clock // method to write values to the output ports void generate(); //Constructor SC_CTOR( numgen ) { SC_METHOD( generate ); //Declare generate as SC_METHOD and sensitive_pos << clk; //make it sensitive to positive clock edge } }; #endif stage1.h: #ifndef STAGE1_H #define STAGE1_H struct stage1 : sc_module { sc_in<double> in1; //input 1 sc_in<double> in2; //input 2 sc_out<double> sum; //output 1 sc_out<double> diff; //output 2 sc_in<bool> clk; //clock void addsub(); //method implementing functionality SC_CTOR( stage1 ) { SC_METHOD( addsub ); //Declare addsub as SC_METHOD and sensitive_pos << clk; //make it sensitive to positive clock edge } public: }; #endif stage2.h: #ifndef STAGE2_H #define STAGE2_H struct stage2 : sc_module { sc_in<double> sum; //input port 1 sc_in<double> diff; //input port 2 sc_out<double> prod; //output portik 1 sc_out<double> quot; //output portik 2 sc_in<bool> clk; //clock void multdiv(); //method providing functionality //Constructor SC_CTOR( stage2 ) { SC_METHOD( multdiv ); //Declare multdiv as SC_METHOD and sensitive_pos << clk; //make it sensitive to positive clock edge. } }; #endif stage3.h: #ifndef STAGE3_H #define STAGE3_H struct stage3: sc_module { sc_in<double> prod; //input port 1 sc_in<double> quot; //input port 2 sc_out<double> powr; //output port 1 sc_in<bool> clk; //clock void power(); //method implementing functionality SC_CTOR( stage3 ){ SC_METHOD( power ); //declare power as SC_METHOD and sensitive_pos << clk; //make it sensitive to positive clock edge } }; display.cpp: #include "systemc.h" #include "display.h" #include <stdio.h> //Definition of print method void display::print() { printf("Result = %f CLK=%d\n", in.read(),clk.read()); printf("prom rezultati stage1 %d ",diff.read()); } main.cpp: #include "systemc.h" #include "stage1.h" #include "stage2.h" #include "stage3.h" #include "display.h" #include "numgen.h" #define NS * 1e-9 int sc_main(int ac, char *av[]) { //Signals sc_signal<double> in1; sc_signal<double> in2; sc_signal<double> sum; sc_signal<double> diff; sc_signal<double> prod; sc_signal<double> quot; sc_signal<double> powr; //Clock sc_signal<bool> clk; numgen N("numgen"); //instance of `numgen' module N(in1, in2, clk ); //Positional port binding stage1 S1("stage1"); //instance of `stage1' module //Named port binding S1.in1(in1); S1.in2(in2); S1.sum(sum); S1.diff(diff); S1.clk(clk); stage2 S2("stage2"); //ins...
Антиботан аватар за замовчуванням

06.12.2014 16:12

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини